import '../public-path' // 引入第1步配置的文件，必须在首行引入

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false
let app
    // 应用每次渲染时都会执行 mount 方法，在此处可以执行初始化相关操作（必传)
export async function mount(props) {
    console.log(props, "====")
    console.log("微应用2打开")
    app = new Vue({
        render: h => h(App),
    }).$mount('#app1')
}

// 卸载微应用2
export async function unmount() {
    console.log('微应用vue2卸载了')
    app.$destroy()
    app.$el.innerHTML = ''
    app = null
}

// 微前端环境下，注册mount和unmount方法
if (window.__MICRO_APP_ENVIRONMENT__) {
    window[`micro-app-${window.__MICRO_APP_NAME__}`] = { mount, unmount }
} else {
    // 非微前端环境直接渲染
    mount()
}